/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.marcelo.agro.entidades.validadores;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author marcelo
 * 
 */
public class SquemaValidadores implements Validadores{
    
//    private Campanas campanas;
//    private PropertyChangeSupport support;
//    private InterfaceCampanhas ic;
    
//    String MENSAJE_ERROR_NOMBRE_VACIO = "El nombre no puede esta en blanco";
//    String MENSAJE_ERROR_NOMBRE_REPETIDO = "El nombre esta repetido";
//    String MENSAJE_ERROR_FECHA_NULA = "La fecha no puede ser nula";
//    String MENSAJE_ERROR_FECHA_FIN_MENOR = "La fecha de fin debe ser mayor a la fecha de inicio";
//    
//    private Boolean isValid;
    
    private List<AbstractValidator> validadores ;
    
//    private void setIsValid(Boolean isValid) {
//        Boolean oldValue = isValid;
//        this.isValid = isValid;
//        support.firePropertyChange("isValid", oldValue, isValid);
//    }

    public SquemaValidadores() {
        validadores = new ArrayList<AbstractValidator>();
    }
    
    public SquemaValidadores(List<AbstractValidator> validadores) {
        this.validadores = validadores ;
    }
    
    @Override
    public boolean checkValidity() {
        boolean result = true;
        for (AbstractValidator v: validadores) {
            result = (result && v.checkValidity());
        }
        return result;
    }
    
    
    
//    private boolean validarNombre() {
//        
//        if(campanas.getNombre().isEmpty()) {
//            
//            return false;
//        }
//        if(!ic.esUnico(campanas)) {
//            return false;
//        }
//        return true;
//    }
//    
//    private boolean validarFechaInicio() {
//        if (campanas.getFechaInicio() == null){
//           return false; 
//        }
//        return true;
//    }
//    
//    private boolean validarFechaFin() {
//        if (campanas.getFechaFin() == null){
//           return false;
//        }
//        if (campanas.getFechaInicio().after(campanas.getFechaFin())) {
//            return false;
//        }
//        return true;
//    }
//    
//    private void setMensaj2(String mensaje){
//        
//        support.firePropertyChange(mensaje, mensaje, mensaje);
//    }
    
//    private void isValid() {
//        
//        
//    }
    
    public void addValidador(AbstractValidator validador) {
        validadores.add(validador);
    }
    
}
